package com.example.controller;

import com.example.common.Result;
import com.example.entity.Course;
import com.example.service.CourseService;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 404是什么？
 * 接口路径错了？
 * 或者接口没写
 * 或者后台没重启
 *
 */

/**
 * 500 是为什么？
 * 后台报错了
 * 看控制台具体是什么错误？
 * 蓝色的字一点就去报错的对应行
 */

/**
 * @author hongyi
 * @date 2024/1/22 9:35
 */
@RestController
@RequestMapping("/course")
public class CourseController {

    @Resource
    private CourseService courseService;

    /**
     *  分页加查询
     * @param pageNum
     * @param pageSize
     * @param course
     * @return
     */
    @GetMapping("/selectPage")
    public Result selectPage(@RequestParam(defaultValue = "1") Integer pageNum,
                             @RequestParam(defaultValue = "5") Integer pageSize,
                             Course course) { // ?name=xx&no=xx
        PageInfo<Course> pageInfo = courseService.selectPage(pageNum, pageSize, course);
        return Result.success(pageInfo);
    }

    /**
     * 新增
     * @param course
     * @return
     */
    @PostMapping("/add")
    // @RequestBody Course course 接收前端数据
    public Result add(@RequestBody Course course) {
        courseService.add(course);
        return Result.success();
    }

    /**
     * 修改课程
     * @param course
     * @return
     */
    @PutMapping("/update")
    public Result update(@RequestBody Course course) {
        courseService.updateById(course);
        return Result.success();
    }

    /**
     * 删除课程
     * @param id
     * @return
     */
    @DeleteMapping("/delete/{id}") // 根据路径去访问
    public Result delete(@PathVariable Integer id) {
        courseService.deleteById(id);
        return Result.success();
    }
    // 按 alt + Enter 健生成方法
}
